Post on 18-Dec-2015
Sarantorn BisalbutraNomadicLab, Ericsson Research
Supervisor: Prof. Jörg OttInstructors: Petri Jokela
Jimmy Kjällman
PUBLISH/SUBSCRIBE GATEWAY FOR
REAL-TIME COMMUNICATION
Outline
•Background• PURSUIT Publish/Subscribe Internet Technology
•Design - Pub/sub Gateway and SIP Registrar• SIP Voice Call•Multimedia Streaming over Multicast
• Implementation•Evaluation•Conclusion
Background
• EU FP7 Project for the future Internet based on publish/subscribe paradigm• Motivation• Internet users tend to be aware of data content more than where it
comes from
• Information-Centric Network instead of Host-Centric Network
• Network Architecture
PURSUIT Publish/Subscribe Internet Technology (1)
Publisher
Publisher
Subscriber
Subscriber
Subscriber
FW
FW
FW
FW
FW
FW
RV TM
PURSUIT Publish/Subscribe Internet Technology (2)
• The communication happens based on the Information Structure• = Scope: Defines a set of information
• = Information Item: Represents data • P = Publisher: Where the data is stored• S = Subscriber: Where the data is needed
• Example:
SocialNetworks
AliceP-A / S-C
FacebookS-E
BobP-B
CarolP-C
DaveP-D
Root
Alice
Bob
Dave
Eve
FW
FW
FW
FW
FW
FW
RVTM
1. Publish(Alice)
2. Subscribe(Alice)
3. Matching
4. Path Computation
5. START_PUBLISH
6.Forwarding
Carol
5. Topology Manager signals Alice to start the publication.
1. Alice Publishes her Facebook profile. 2. Carol subscribes Alice’s Facebook profile.3. Rendezvous system matches publication and subscription.4. Topology Manager computes an optimal path from Alice to Carol.
6. Alice’s node forwards her Facebook data to Carol.7. If Eve wants to see the Facebook of Alice, Bob and Carol, she can subscribe the Facebook scope.
7.Forwarding
Pub/sub Gateway
• Migration phase from IP to Publish/Subscribe network
• Installed at the network edge, between IP and Publish/subscribe network
• Convert IP based end-to-end traffic to publish/subscribe based and vice versa
• Supports• Session Initiation Protocol (SIP) : initializes the session, establishes RTP connection,
maintains the connectivity, and terminate the session
• Multimedia streaming over multicast: multicast initiation, group joining and leaving
Pub/sub Gateway
Alice
Bob
Carol
Dave
Eve
FW
FW
FW
FW
FW
FW
RV TMIP
IP
IP
IP
IP
GW
GW
GW
GW
Design-SIP Voice Call
Call Initiation (1)
FW FW
RV TM
GW1
DaveAlice SIP Registr
ar
RegisterPREG / SREG
GW1PGW1 / SREG
GW2PGW2 / SREG
AlicePGW1
REQPGW1 / SREG
RESPREG / SGW1
INTPREG / SGW1
DavePGW2
REQPGW2 / SREG
RESPREG / SGW2
INTPREG /SGW2
CallPREG
12345PGW1
SignalPGW1 / SGW1, GW2
MediaPGW1
RTPPGW1 / SGW1, GW2
RTCPPGW1 / SGW1, GW2
AlicePGW1
DavePGW2
AlicePGW1
AlicePGW1
DavePGW2
DavePGW2
1. INVITETo: DaveFrom: AliceCall-ID: 12345
3. Pub(INVITE)4. Pub(INVITE)
6. INVITETo: DaveFrom: AliceCall-ID: 12345
3.4.
2. Pub/Sub items
5. Pub/Sub items
Domain = “pubsubgateway.net”
GW2
IP IP
Call Initiation (2)
FW FW
RV TM
GW2GW1
DaveAlice SIP Registr
ar
RegisterPREG / SREG
GW1PGW1 / SREG
GW2PGW2 / SREG
AlicePGW1
REQPGW1 / SREG
RESPREG / SGW1
INTPREG / SGW1
DavePGW2
REQPGW2 / SREG
RESPREG / SGW2
INTPGW2 /SGW2
CallPREG
12345PGW1
SignalPGW1 / SGW1, GW2
MediaPGW1
RTPPGW1 / SGW1, GW2
RTCPPGW1 / SGW1, GW2
AlicePGW1
DavePGW2
AlicePGW1
AlicePGW1
DavePGW2
DavePGW2
8. Pub(100 Trying)
7. 100 Trying9. 100 Trying
11. Pub(180 Ringing)
10. 180 Ringing12. 180 Ringing
13. 200 OK
14. Pub( 200 OK )
15. 200 OKIP IP
DaveAlice
Call Signalling & MediaCallPREG
12345PGW1
SignalPGW1 / SGW1, GW2
MediaPGW1
RTPPGW1 / SGW1, GW2
RTCPPGW1 / SGW1, GW2
AlicePGW1
DavePGW2
AlicePGW1
AlicePGW1
DavePGW2
DavePGW2
GW1 GW2IP IP
1. BYE
2. Pub( BYE )
3. BYE
Call Termination
FW FW
RV TM
GW2GW1
DaveAlice SIP Registr
ar
RegisterPREG / SREG
GW1PGW1 / SREG
GW2PGW2 / SREG
AlicePGW1
REQPGW1 / SREG
RESPREG / SGW1
INTPREG / SGW1
DavePGW2
REQPGW2 / SREG
RESPREG / SGW2
INTPGW2 /SGW2
CallPREG
12345PGW1
SignalPGW1 / SGW1, GW2
MediaPGW1
RTPPGW1 / SGW1, GW2
RTCPPGW1 / SGW1, GW2
AlicePGW1
DavePGW2
AlicePGW1
AlicePGW1
DavePGW2
DavePGW2
4. 200 OK
6. unPub/unSub items
5. Pub( 200 OK )
8. unPub/unSub items
7. 200 OKIP IP
Design-Multimedia Streaming over Multicast
Group Establishment
FW FW
RV TMGW2
GW1
GW3
FW
Multicast
MediaSAP
SGW1-3
GW1PGW1
GW2PGW2
GW3PGW3 Nemo
PGW1
RTPPGW1
RTCPPGW1
1. SAPName: NemoMulticast addr: 224.1.1.1:5004
2. Pub/Sub items
4. SAPName: NemoMulticast addr: 224.1.1.1:5004
4. SAPName: NemoMulticast addr: 224.1.1.1:5004
3. Pub(SAP)
RTP
RTCPAlice
IP Dave
IP
Eve
IP
Eve
IP
Dave
IP
RTPPGW1
/SGW2,GW3
Group Joining
FW FW
RV TMGW2
GW1
AliceGW3
FW
Multicast
MediaSAP
SGW1-3
GW1PGW1
GW2PGW2
GW3PGW3 Nemo
PGW1
RTCPPGW1
/SGW2,GW3
RTP 2. Sub (RTP,RTCP)
1. IGMP Join224.1.1.1: 5004
3. Pub(RTP) and
Pub (RTCP)
RTCP
RTP
RTCP
5. IGMP Join224.1.1.1: 5004
RTP
RTCP
4.
6. Sub (RTP,RTCP)
7. 7.
IP
Dave
IP
Eve
IP
RTPPGW1
/SGW2,GW3
Group Leaving
FW FW
RV TMGW2
GW1
AliceGW3
FW
Multicast
MediaSAP
SGW1-3
GW1PGW1
GW2PGW2
GW3PGW3 Nemo
PGW1
RTCPPGW1
/SGW2,GW3
RTP 5. unSub (RTP,RTCP)
4. IGMP Leave224.1.1.1: 5004
RTCP
RTP
RTCP
1. IGMP Leave224.1.1.1: 5004RTP
RTCP2. unSub (RTP,RTCP)
6. Stop Pub (RTP,RTCP)
IP
3.
Implementation
Gateway-SIP Module
• dns: Responds to DNS query with gateway IP address• sip_signaling: Receives SIP signals from IP and forward to register_signal and call_signal threads• register_signal: Handles user registration, cooperates with SIP
registrar• call_signal: Handles Call signaling, session establishment,
maintaining and termination • call_manager: stores/deletes active call states and start/stop
call_media thread• call_media: Handles media session (RTP and RTCP) of each call• Receives packets from IP -> Publishes to pub/sub• Receives packets from pub/sub -> send out to IP • pubsub_handler: interface between our program and the Blackadder
library executes the pub/sub commands and lists all executed publications and subscriptions
pubsub_gateway: sip
dns
pubsub_handler
sip_signallingregister_sign
alcall_sign
al
…call_media…
call_manager
socket libblackadder
• socket: Interface to IP network
• libblackadder: Interface to pub/sub network
• : Thread
• : Module
Gateway-Multicast Modulepubsub_gateway: multicast
pubsub_handlerigmp
sap
…media_streamer…
group_manager
socket libblackadder
• sap: receives SAP announcement from both IP Network then publish to other pub/sub entities and vice versa• igmp: receives joining and leaving membership report from IP client, then send an update to the group manager• group_manager: accepts the commandsfrom sap, media_streamer,and igmp threads to create multicast state, delete multicast state, and to start/stop the media_streamer respectively • media_streamer: Handles media session (RTP and RTCP) of each
multicast group• Receives packets from IP -> Publishes to pub/sub• Receives packets from pub/sub -> send out to IP • pubsub_handler: interface between our program and the
Blackadder library executes the pub/sub commands and lists all executed publications and subscriptions
Pub/sub SIP Registrar• register: stores/deletes user’s information in the Location
service• redirect: redirect an INVITE request from call originator to the
recipient• Location service: database storing user’s information the
format is shown:
• pubsub_handler: interface between our program and the Blackadder library executes the pub/sub commands and lists all executed publications and subscriptions
pubsub_registrar
Location service
pubsub_handler
register redirect
libblackadder
Username (ip:port) Gateway SID CSeq
Evaluation
Evaluation (1)• Functional Testing: 41 VMs in total (14 pub/sub, 27 IP clients)
• SIP Voice Call and media streaming from every IP client to all others
• Test with up to 15 sessions at the same time.
• Flexibility and Adaptability Testing
Evaluation (2)
• Traffic Analysis• SIP Voice Call•Media session creates the highest amount of traffic density
•Multimedia Streaming over Multicast• Confirms that media content is multicast in pub/sub network
• Call Setup Duration• 6/10 times of the test show that pub/sub provide faster call setup.• Even though it needs some time to set up the information tree, before an actual transfer occurs.
Conclusion
Conclusions
• A novel design for publish/subscribe gateway and SIP registrar to enable IP-based real-time communication over the publish/subscribe paradigm. • The gateway enables a co-existence between the IP and publish/subscribe network• Confirms that the idea to deploy gateway during an IP
to pub/sub migration is reasonable and applicable. • SIP and multimedia streaming are possible to work under an Information-Centric context
• Future work• Support for other protocols. Ex: HTTP, IMAP, SMTP
Thank youQ&A?