SlideShare a Scribd company logo
1 of 21
Download to read offline
RIPP notes
Giacomo Vacca - 201908
RIPP: Real-time Interconnection Peering Protocol
https://tools.ietf.org/html/draft-rosenbergjennings-dispatch-ripp-03
This draft focuses on one of the aspects of VoIP: peering/trunking.
Aims to replace SIP/SDP/RTP in that context.
Designed on top of HTTP/3.
Mandates secure caller ID, automated trunk provisioning, seamless failover of
calls.
From Rosenberg and Cullins, authors of SIP.
Cloud Computing today
Highly focused on HTTP applications.
Client/Server, Request/Response scenarios.
HTTP load balancers, auto-scaling are typically offered.
Examples:
- K8s
- API GWs
- Istio
The Problem
Today interconnections with PSTN still happens typically via SIP.
In SIP-land, developers typically build their own load balancing, HA, failover,
clustering, security and scale strategies, instead of using platform features.
Complex provisioning, static IP addresses, difficult to move calls from a server to
another.
The solution
RIPP replaces SIP/SDP and RTP to allow a domain to send and receive calls.
Based on top of HTTP/3 to benefit from UDP.
Includes a self-provisioning mechanism.
Designed to work with HTTP load balancers without modifications.
Includes seamless failover of calls from a server to another.
Mandatory authentication and encryption.
Hop-by-hop, client/server
SIP is end-to-end and includes a complex set of tools to allow routing of calls
across various endpoints.
RIPP uses the HTTP approach of Hop-by-Hop interaction. Everything is a
client/server, request/response interaction (potentially through HTTP load
balancers).
In RIPP one entity can act as client or server, and the other as server or client.
The two operations are separate.
A server receives calls from a client. Media flows from the client to the server.
Media to the client flows back on the same connection.
Signaling and media together
SIP separates signaling (SIP/SDP) from media (RTP).
RIPP operates in an atomic way, and combines signalling and media inside the
same connection.
Low latency is achieved by many parallel connections sending/receiving media
over QUIC.
Bidirectional bytestreams between consumer and provider are called byways.
IP addresses vs URIs
SIP requires IP addresses for proper routing.
RIPP relies on URIs without IP addresses.
Important: The client never provides its address to the server. Data is sent in
the reverse direction (server to client) over the same connection.
Authentication
SIP: mutual TLS.
RIPP: client/server paradigm, with client authenticating on server. Roles are just
reversed when the authentication needs to happen in the other direction.
Encryption
SIP: TLS (signalling) and SRTP (media).
RIPP: all over TLS (TLSv1.3 mandatory with HTTP/3).
Calls vs Connections
SIP: losing a connection may impact calls that were negotiated over that
connection.
RIPP: connections and calls are well separate concepts. Calls can be moved to
other servers without affecting the connections.
Roles (RIPP: OAuth2.0)
Trunking provider: Authorisation Server and Resource Server
Trunking customer: Resource Owner
Trunking consumer: Client
Customer and consumer can be the same entity.
Operation
1. Configuration. The trunking provider acts as a OAuth resource provider.
2. Provisioning. The trunking customer connects a trunk from a trunking provider
to a trunking consumer. The trunking provider gives the customer a trunk URI
and an authorisation code.
a. POST to /consumerTrunk on trunk URI
3. Both get the (receive) capabilities details. (These are static and this is why SDP is not needed.)
a. GET to /capAdv
4. Initiate calls.
a. POST to /calls on trunk URI (either provider trunk URI or consumer trunk URI), with phone
number and identity header (RFC 8224) + OAuth token.
b. Response: 201 with a unique call URI (+ cookie)
5. Delete trunks
a. DELETE to trunk provider URI
Call management
The trunk consumer creates 2 long running HTTP connections (2 byways):
1. GET to retrieve events (1 byway from client to server. “Forward byway”)
2. PUT to send events (1 byway from server to client. “Reverse byway”)
Events
Events are sent over a byway and are encoded in a JSON object.
Events can be:
- alerting
- connected
- ended
- migrate
- keepalive
- transfer-and-takeback
Media
Every time an entity sends a media packet to the other, an ACK is expected in the
reverse direction.
RTCP reports are not needed since each packet is individually ACKnowledged to
the sender.
Migrating a call
Client: end byway used for the call and create a new one for the same call.
Server: asks the client to migrate, causing the client to end the byway and creating
a new one.
Call URLs
When the consumer asks the provider to generate a call, it gets a call URI from
the provider.
POST /trunks/123/calls&target=123454545@e164.arpa
The response is a 202 with call URI, e.g.
/call/xyz
Phone numbers are indicated with number@e164.arpa
Creating the byways
All these are requests from the consumer to the provider, in case of call from
consumer to provider:
s2c signalling byway: GET /call/xyz/event
c2s media byway: POST /call/xyz/media-forward
s2c media byway: POST /call/xyz/media-reverse
In case of call from provider to consumer, the roles are simply reversed.
Events
The server sends events on the s2c signalling byway
The client sends events as PUT /call/xyz/event
Multiple byways
Each media packet must be acknowledged by the receiver.
For this reason, media is sent through multiple byways.
A byway that hasn’t received an ACK is considered blocked.
When a certain number of byways are blocked, the entities are expected to open
new ones.

More Related Content

What's hot

message communication protocols in IoT
message communication protocols in IoTmessage communication protocols in IoT
message communication protocols in IoTFabMinds
 
ARM CoAP Tutorial
ARM CoAP TutorialARM CoAP Tutorial
ARM CoAP Tutorialzdshelby
 
CoAP protocol -Internet of Things(iot)
CoAP protocol -Internet of Things(iot)CoAP protocol -Internet of Things(iot)
CoAP protocol -Internet of Things(iot)Sabahat Nowreen Shaik
 
Low Latency Mobile Messaging using MQTT
Low Latency Mobile Messaging using MQTTLow Latency Mobile Messaging using MQTT
Low Latency Mobile Messaging using MQTTHenrik Sjöstrand
 
JavaZone 2016 : MQTT and CoAP for the Java Developer
JavaZone 2016 : MQTT and CoAP for the Java DeveloperJavaZone 2016 : MQTT and CoAP for the Java Developer
JavaZone 2016 : MQTT and CoAP for the Java DeveloperMark West
 
Innovation is back in the transport and network layers
Innovation is back in the transport and network layersInnovation is back in the transport and network layers
Innovation is back in the transport and network layersOlivier Bonaventure
 
What is SS7? An Introduction to Signaling System 7
What is SS7?  An Introduction to Signaling System 7What is SS7?  An Introduction to Signaling System 7
What is SS7? An Introduction to Signaling System 7Alan Percy
 
More on Using Haystack + DASH7 with MQTT
More on Using Haystack + DASH7 with MQTTMore on Using Haystack + DASH7 with MQTT
More on Using Haystack + DASH7 with MQTTHaystack Technologies
 
AMQP and RabbitMQ (OKCJUG, January 2014)
AMQP and RabbitMQ (OKCJUG, January 2014)AMQP and RabbitMQ (OKCJUG, January 2014)
AMQP and RabbitMQ (OKCJUG, January 2014)Ryan Hoegg
 
OPNFV Service Function Chaining
OPNFV Service Function ChainingOPNFV Service Function Chaining
OPNFV Service Function ChainingOPNFV
 
Rina p4 rina workshop
Rina p4   rina workshopRina p4   rina workshop
Rina p4 rina workshopEduard Grasa
 
MQTT - MQ Telemetry Transport for Message Queueing
MQTT - MQ Telemetry Transport for Message QueueingMQTT - MQ Telemetry Transport for Message Queueing
MQTT - MQ Telemetry Transport for Message QueueingPeter R. Egli
 
How do Things talk? IoT Application Protocols 101
How do Things talk? IoT Application Protocols 101How do Things talk? IoT Application Protocols 101
How do Things talk? IoT Application Protocols 101Christian Götz
 
Multi-Tenancy Kafka cluster for LINE services with 250 billion daily messages
Multi-Tenancy Kafka cluster for LINE services with 250 billion daily messagesMulti-Tenancy Kafka cluster for LINE services with 250 billion daily messages
Multi-Tenancy Kafka cluster for LINE services with 250 billion daily messagesLINE Corporation
 

What's hot (20)

message communication protocols in IoT
message communication protocols in IoTmessage communication protocols in IoT
message communication protocols in IoT
 
ARM CoAP Tutorial
ARM CoAP TutorialARM CoAP Tutorial
ARM CoAP Tutorial
 
L2 tp
L2 tpL2 tp
L2 tp
 
CoAP protocol -Internet of Things(iot)
CoAP protocol -Internet of Things(iot)CoAP protocol -Internet of Things(iot)
CoAP protocol -Internet of Things(iot)
 
Low Latency Mobile Messaging using MQTT
Low Latency Mobile Messaging using MQTTLow Latency Mobile Messaging using MQTT
Low Latency Mobile Messaging using MQTT
 
IoT Coap
IoT Coap IoT Coap
IoT Coap
 
JavaZone 2016 : MQTT and CoAP for the Java Developer
JavaZone 2016 : MQTT and CoAP for the Java DeveloperJavaZone 2016 : MQTT and CoAP for the Java Developer
JavaZone 2016 : MQTT and CoAP for the Java Developer
 
Innovation is back in the transport and network layers
Innovation is back in the transport and network layersInnovation is back in the transport and network layers
Innovation is back in the transport and network layers
 
MQTT + DASH7 Integration
MQTT + DASH7 IntegrationMQTT + DASH7 Integration
MQTT + DASH7 Integration
 
What is SS7? An Introduction to Signaling System 7
What is SS7?  An Introduction to Signaling System 7What is SS7?  An Introduction to Signaling System 7
What is SS7? An Introduction to Signaling System 7
 
WebRTC
WebRTCWebRTC
WebRTC
 
More on Using Haystack + DASH7 with MQTT
More on Using Haystack + DASH7 with MQTTMore on Using Haystack + DASH7 with MQTT
More on Using Haystack + DASH7 with MQTT
 
AMQP and RabbitMQ (OKCJUG, January 2014)
AMQP and RabbitMQ (OKCJUG, January 2014)AMQP and RabbitMQ (OKCJUG, January 2014)
AMQP and RabbitMQ (OKCJUG, January 2014)
 
OPNFV Service Function Chaining
OPNFV Service Function ChainingOPNFV Service Function Chaining
OPNFV Service Function Chaining
 
Rina p4 rina workshop
Rina p4   rina workshopRina p4   rina workshop
Rina p4 rina workshop
 
MQTT - MQ Telemetry Transport for Message Queueing
MQTT - MQ Telemetry Transport for Message QueueingMQTT - MQ Telemetry Transport for Message Queueing
MQTT - MQ Telemetry Transport for Message Queueing
 
Network concepts
Network conceptsNetwork concepts
Network concepts
 
How do Things talk? IoT Application Protocols 101
How do Things talk? IoT Application Protocols 101How do Things talk? IoT Application Protocols 101
How do Things talk? IoT Application Protocols 101
 
MQTT
MQTTMQTT
MQTT
 
Multi-Tenancy Kafka cluster for LINE services with 250 billion daily messages
Multi-Tenancy Kafka cluster for LINE services with 250 billion daily messagesMulti-Tenancy Kafka cluster for LINE services with 250 billion daily messages
Multi-Tenancy Kafka cluster for LINE services with 250 billion daily messages
 

Similar to RIPP Notes

Similar to RIPP Notes (20)

gRPC
gRPCgRPC
gRPC
 
SIP Presentation
SIP PresentationSIP Presentation
SIP Presentation
 
Np unit1
Np unit1Np unit1
Np unit1
 
Cs556 section3
Cs556 section3Cs556 section3
Cs556 section3
 
Cs556 section3
Cs556 section3Cs556 section3
Cs556 section3
 
MSB-Remote procedure call
MSB-Remote procedure callMSB-Remote procedure call
MSB-Remote procedure call
 
Middleware in Distributed System-RPC,RMI
Middleware in Distributed System-RPC,RMIMiddleware in Distributed System-RPC,RMI
Middleware in Distributed System-RPC,RMI
 
Lecture9
Lecture9Lecture9
Lecture9
 
System and network administration network services
System and network administration network servicesSystem and network administration network services
System and network administration network services
 
App layer
App layerApp layer
App layer
 
Chapter 2
Chapter 2Chapter 2
Chapter 2
 
Chapter2 l2 modified_um
Chapter2 l2 modified_umChapter2 l2 modified_um
Chapter2 l2 modified_um
 
Week2 lec3-bscs1
Week2 lec3-bscs1Week2 lec3-bscs1
Week2 lec3-bscs1
 
Introduction to WAP
Introduction to WAPIntroduction to WAP
Introduction to WAP
 
Distributed System by Pratik Tambekar
Distributed System by Pratik TambekarDistributed System by Pratik Tambekar
Distributed System by Pratik Tambekar
 
Lecture set 7
Lecture set 7Lecture set 7
Lecture set 7
 
Remote procedure calls
Remote procedure callsRemote procedure calls
Remote procedure calls
 
Unit 6 : Application Layer
Unit 6 : Application LayerUnit 6 : Application Layer
Unit 6 : Application Layer
 
Rpc
RpcRpc
Rpc
 
IPAddressing .pptx
IPAddressing .pptxIPAddressing .pptx
IPAddressing .pptx
 

More from Giacomo Vacca

An SFU/MCU integration for heterogeneous environments
An SFU/MCU integration for heterogeneous environmentsAn SFU/MCU integration for heterogeneous environments
An SFU/MCU integration for heterogeneous environmentsGiacomo Vacca
 
Kamailio World 2018 - Workshop: kamailio-tests
Kamailio World 2018 - Workshop: kamailio-testsKamailio World 2018 - Workshop: kamailio-tests
Kamailio World 2018 - Workshop: kamailio-testsGiacomo Vacca
 
Homer - Workshop at Kamailio World 2017
Homer - Workshop at Kamailio World 2017Homer - Workshop at Kamailio World 2017
Homer - Workshop at Kamailio World 2017Giacomo Vacca
 
[workshop] The Revolutionary WebRTC
[workshop] The Revolutionary WebRTC[workshop] The Revolutionary WebRTC
[workshop] The Revolutionary WebRTCGiacomo Vacca
 
Continuous Integration and Kamailio
Continuous Integration and KamailioContinuous Integration and Kamailio
Continuous Integration and KamailioGiacomo Vacca
 
Docker - From Walking To Running
Docker - From Walking To RunningDocker - From Walking To Running
Docker - From Walking To RunningGiacomo Vacca
 
Docker and Puppet for Continuous Integration
Docker and Puppet for Continuous IntegrationDocker and Puppet for Continuous Integration
Docker and Puppet for Continuous IntegrationGiacomo Vacca
 
Top 5 Challenges To Add Web Calls to Truphone VoIP Platform
Top 5 Challenges To Add Web Calls to Truphone VoIP PlatformTop 5 Challenges To Add Web Calls to Truphone VoIP Platform
Top 5 Challenges To Add Web Calls to Truphone VoIP PlatformGiacomo Vacca
 
Automatic Kamailio Deployments With Puppet
Automatic Kamailio Deployments With PuppetAutomatic Kamailio Deployments With Puppet
Automatic Kamailio Deployments With PuppetGiacomo Vacca
 

More from Giacomo Vacca (10)

An SFU/MCU integration for heterogeneous environments
An SFU/MCU integration for heterogeneous environmentsAn SFU/MCU integration for heterogeneous environments
An SFU/MCU integration for heterogeneous environments
 
Kamailio World 2018 - Workshop: kamailio-tests
Kamailio World 2018 - Workshop: kamailio-testsKamailio World 2018 - Workshop: kamailio-tests
Kamailio World 2018 - Workshop: kamailio-tests
 
Homer - Workshop at Kamailio World 2017
Homer - Workshop at Kamailio World 2017Homer - Workshop at Kamailio World 2017
Homer - Workshop at Kamailio World 2017
 
[workshop] The Revolutionary WebRTC
[workshop] The Revolutionary WebRTC[workshop] The Revolutionary WebRTC
[workshop] The Revolutionary WebRTC
 
Continuous Integration and Kamailio
Continuous Integration and KamailioContinuous Integration and Kamailio
Continuous Integration and Kamailio
 
Docker - From Walking To Running
Docker - From Walking To RunningDocker - From Walking To Running
Docker - From Walking To Running
 
Docker From Scratch
Docker From ScratchDocker From Scratch
Docker From Scratch
 
Docker and Puppet for Continuous Integration
Docker and Puppet for Continuous IntegrationDocker and Puppet for Continuous Integration
Docker and Puppet for Continuous Integration
 
Top 5 Challenges To Add Web Calls to Truphone VoIP Platform
Top 5 Challenges To Add Web Calls to Truphone VoIP PlatformTop 5 Challenges To Add Web Calls to Truphone VoIP Platform
Top 5 Challenges To Add Web Calls to Truphone VoIP Platform
 
Automatic Kamailio Deployments With Puppet
Automatic Kamailio Deployments With PuppetAutomatic Kamailio Deployments With Puppet
Automatic Kamailio Deployments With Puppet
 

Recently uploaded

Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作ys8omjxb
 
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012rehmti665
 
PHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationPHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationLinaWolf1
 
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一Fs
 
Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Paul Calvano
 
Top 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptxTop 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptxDyna Gilbert
 
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)Christopher H Felton
 
Contact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New DelhiContact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New Delhimiss dipika
 
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书zdzoqco
 
Magic exist by Marta Loveguard - presentation.pptx
Magic exist by Marta Loveguard - presentation.pptxMagic exist by Marta Loveguard - presentation.pptx
Magic exist by Marta Loveguard - presentation.pptxMartaLoveguard
 
Blepharitis inflammation of eyelid symptoms cause everything included along w...
Blepharitis inflammation of eyelid symptoms cause everything included along w...Blepharitis inflammation of eyelid symptoms cause everything included along w...
Blepharitis inflammation of eyelid symptoms cause everything included along w...Excelmac1
 
Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170Sonam Pathan
 
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一Fs
 
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Dana Luther
 
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一Fs
 
Git and Github workshop GDSC MLRITM
Git and Github  workshop GDSC MLRITMGit and Github  workshop GDSC MLRITM
Git and Github workshop GDSC MLRITMgdsc13
 
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一z xss
 
Film cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasaFilm cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasa494f574xmv
 
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一Fs
 

Recently uploaded (20)

Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
 
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
 
PHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationPHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 Documentation
 
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
 
Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24
 
Top 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptxTop 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptx
 
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
 
Contact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New DelhiContact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New Delhi
 
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
 
Magic exist by Marta Loveguard - presentation.pptx
Magic exist by Marta Loveguard - presentation.pptxMagic exist by Marta Loveguard - presentation.pptx
Magic exist by Marta Loveguard - presentation.pptx
 
Hot Sexy call girls in Rk Puram 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in  Rk Puram 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in  Rk Puram 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Rk Puram 🔝 9953056974 🔝 Delhi escort Service
 
Blepharitis inflammation of eyelid symptoms cause everything included along w...
Blepharitis inflammation of eyelid symptoms cause everything included along w...Blepharitis inflammation of eyelid symptoms cause everything included along w...
Blepharitis inflammation of eyelid symptoms cause everything included along w...
 
Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170
 
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
 
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
 
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
 
Git and Github workshop GDSC MLRITM
Git and Github  workshop GDSC MLRITMGit and Github  workshop GDSC MLRITM
Git and Github workshop GDSC MLRITM
 
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
 
Film cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasaFilm cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasa
 
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
 

RIPP Notes

  • 2. RIPP: Real-time Interconnection Peering Protocol https://tools.ietf.org/html/draft-rosenbergjennings-dispatch-ripp-03 This draft focuses on one of the aspects of VoIP: peering/trunking. Aims to replace SIP/SDP/RTP in that context. Designed on top of HTTP/3. Mandates secure caller ID, automated trunk provisioning, seamless failover of calls. From Rosenberg and Cullins, authors of SIP.
  • 3. Cloud Computing today Highly focused on HTTP applications. Client/Server, Request/Response scenarios. HTTP load balancers, auto-scaling are typically offered. Examples: - K8s - API GWs - Istio
  • 4. The Problem Today interconnections with PSTN still happens typically via SIP. In SIP-land, developers typically build their own load balancing, HA, failover, clustering, security and scale strategies, instead of using platform features. Complex provisioning, static IP addresses, difficult to move calls from a server to another.
  • 5. The solution RIPP replaces SIP/SDP and RTP to allow a domain to send and receive calls. Based on top of HTTP/3 to benefit from UDP. Includes a self-provisioning mechanism. Designed to work with HTTP load balancers without modifications. Includes seamless failover of calls from a server to another. Mandatory authentication and encryption.
  • 6. Hop-by-hop, client/server SIP is end-to-end and includes a complex set of tools to allow routing of calls across various endpoints. RIPP uses the HTTP approach of Hop-by-Hop interaction. Everything is a client/server, request/response interaction (potentially through HTTP load balancers). In RIPP one entity can act as client or server, and the other as server or client. The two operations are separate. A server receives calls from a client. Media flows from the client to the server. Media to the client flows back on the same connection.
  • 7. Signaling and media together SIP separates signaling (SIP/SDP) from media (RTP). RIPP operates in an atomic way, and combines signalling and media inside the same connection. Low latency is achieved by many parallel connections sending/receiving media over QUIC. Bidirectional bytestreams between consumer and provider are called byways.
  • 8. IP addresses vs URIs SIP requires IP addresses for proper routing. RIPP relies on URIs without IP addresses. Important: The client never provides its address to the server. Data is sent in the reverse direction (server to client) over the same connection.
  • 9. Authentication SIP: mutual TLS. RIPP: client/server paradigm, with client authenticating on server. Roles are just reversed when the authentication needs to happen in the other direction.
  • 10. Encryption SIP: TLS (signalling) and SRTP (media). RIPP: all over TLS (TLSv1.3 mandatory with HTTP/3).
  • 11. Calls vs Connections SIP: losing a connection may impact calls that were negotiated over that connection. RIPP: connections and calls are well separate concepts. Calls can be moved to other servers without affecting the connections.
  • 12. Roles (RIPP: OAuth2.0) Trunking provider: Authorisation Server and Resource Server Trunking customer: Resource Owner Trunking consumer: Client Customer and consumer can be the same entity.
  • 13. Operation 1. Configuration. The trunking provider acts as a OAuth resource provider. 2. Provisioning. The trunking customer connects a trunk from a trunking provider to a trunking consumer. The trunking provider gives the customer a trunk URI and an authorisation code. a. POST to /consumerTrunk on trunk URI 3. Both get the (receive) capabilities details. (These are static and this is why SDP is not needed.) a. GET to /capAdv 4. Initiate calls. a. POST to /calls on trunk URI (either provider trunk URI or consumer trunk URI), with phone number and identity header (RFC 8224) + OAuth token. b. Response: 201 with a unique call URI (+ cookie) 5. Delete trunks a. DELETE to trunk provider URI
  • 14. Call management The trunk consumer creates 2 long running HTTP connections (2 byways): 1. GET to retrieve events (1 byway from client to server. “Forward byway”) 2. PUT to send events (1 byway from server to client. “Reverse byway”)
  • 15. Events Events are sent over a byway and are encoded in a JSON object. Events can be: - alerting - connected - ended - migrate - keepalive - transfer-and-takeback
  • 16. Media Every time an entity sends a media packet to the other, an ACK is expected in the reverse direction. RTCP reports are not needed since each packet is individually ACKnowledged to the sender.
  • 17. Migrating a call Client: end byway used for the call and create a new one for the same call. Server: asks the client to migrate, causing the client to end the byway and creating a new one.
  • 18. Call URLs When the consumer asks the provider to generate a call, it gets a call URI from the provider. POST /trunks/123/calls&target=123454545@e164.arpa The response is a 202 with call URI, e.g. /call/xyz Phone numbers are indicated with number@e164.arpa
  • 19. Creating the byways All these are requests from the consumer to the provider, in case of call from consumer to provider: s2c signalling byway: GET /call/xyz/event c2s media byway: POST /call/xyz/media-forward s2c media byway: POST /call/xyz/media-reverse In case of call from provider to consumer, the roles are simply reversed.
  • 20. Events The server sends events on the s2c signalling byway The client sends events as PUT /call/xyz/event
  • 21. Multiple byways Each media packet must be acknowledged by the receiver. For this reason, media is sent through multiple byways. A byway that hasn’t received an ACK is considered blocked. When a certain number of byways are blocked, the entities are expected to open new ones.