Presence with OpenSER - openSIPS | Main / HomePage · 2009. 3. 1. · O March 17 OpenSER Summit –...
Transcript of Presence with OpenSER - openSIPS | Main / HomePage · 2009. 3. 1. · O March 17 OpenSER Summit –...
-
Presence with OpenSER
AncaMaria Vamanu
Senior Developer at Voice System
Presence designer for OpenSER Project
-
O
March 17 OpenSER Summit – VoN 2008 San Jose, US
Outline
• Presence Server • Centralized presence info exchange• XCAP based watcher permission rules• Pidf manipulation possibility
• Presence extensions• Implemented as presence user agents
• Get presence status from Register• Gateway to xmpp presence• Publish info from non SIP devices• Bridge Line Appearance (BLA)
• Resource List Server (RLS)• List subscriptions with an XCAP server
-
O
March 17 OpenSER Summit – VoN 2008 San Jose, US
PRESENCE SERVER
-
O
March 17 OpenSER Summit – VoN 2008 San Jose, US
Old EndtoEnd Presence
• A client receives requests from all other devices that want to see its status
SIP server
Want to see
test's status
Want to see test's' status
Want
to see
test's'
status
W1
W2
W3
w1 request
w2 request
w3 request
-
O
March 17 OpenSER Summit – VoN 2008 San Jose, US
Old EndtoEnd Presence
• When availability status changes the client has to send one notification for each watcher
I'm busytest is busy
test is busy
test is
busy
SIP server
I'm busy
I'm busy
I'm busy
W1
W2
W3
-
O
March 17 OpenSER Summit – VoN 2008 San Jose, US
Presence with a Central Server
• If central presence server is used, all presence requests are handled by the presence server (PS)
Request test's
presence
Request test's presence
Reques
t test's
presen
ce
SIP server with
Presence Server
W1
W2
W3
-
O
March 17 OpenSER Summit – VoN 2008 San Jose, US
Presence with a Central Server
• When a status change occurs the client need to send only one notification to the server and the server deals with distributing the information
test is busy
test is busy
test is
busy
I'm busySIP server with
Presence Server
W1
W2
W3
-
O
March 17 OpenSER Summit – VoN 2008 San Jose, US
Presence Server vs. Endtoend Presence
• Presence with a central Server better than old endtoend presence• Fewer SIP messages• Less processing overhead at the client • Possibility to manipulate presence information ( like
publish miscellaneous information from virtual user agents) • Get basic presence status from client registration status • Gateway to other presence protocols• Centralized storage (buddy list, presencerules) that allows
service configuration sharing between devices ( using the same account)
-
O
March 17 OpenSER Summit – VoN 2008 San Jose, US
Features of OpenSER Presence Server
• Can be integrated with end to end presence
• Privacy/permission rules (define who can see the presence status)• Based on XCAP server• OpenXCAP integrated with OpenSER – high speed
communication
OpenXCAPserver
presencerules
DatabaseOpenSER
Presence Server
watcher status
-
O
March 17 OpenSER Summit – VoN 2008 San Jose, US
Features of OpenSER Presence Server
• Independent entity, can be used in any sip architecture
SIP Proxy
OpenSER Presence Server
other SIP services
SUBSCRIBE/PUBLISH
other custom services
Local domain
-
O
March 17 OpenSER Summit – VoN 2008 San Jose, US
Features of OpenSER Presence Server
• Scalability possibility • Use more presence servers • Infinite number of users
OpenSERPresence Server
1
OpenSERPresence Server
N
SIP ProxyDatabase
-
O
March 17 OpenSER Summit – VoN 2008 San Jose, US
Features of OpenSER Presence Server
• Pidf manipulation possibility (RFC 4827)• Setting of permanent presence state that is independent of
activeness of any particular device
• Use cases:• Publishing presence state for periods when there are no active
devices capable of publishing available; Ex: traveling, vacations.• Advertising services that are open for communication; Ex: email, MMS and SMS• Setting the default state of any person, service, or device
• The communication is through an XCAP server • OpenXCAP has support for pidf manipulation
-
O
March 17 OpenSER Summit – VoN 2008 San Jose, US
Extensibility possibility
• The current modules architecture:
presencemoduleSip entity
SUBSCRIBE/PUBLISH
NOTIFY
presence_xmlmodule
presence_mwimodule
'presence', 'presence.winfo''dialog;sla'
event specific processing
'messagesummary'specific processing
other eventspecific processing
-
O
March 17 OpenSER Summit – VoN 2008 San Jose, US
Extensibility possibility
• The implementation
• General event independent core – 'presence' module
• 'Client' modules that define events• At this time: presence_xml and presence_mwi (Event:message
summary)
• New events can be easily added
-
O
March 17 OpenSER Summit – VoN 2008 San Jose, US
PRESENCE EXTENSIONS
-
O
March 17 OpenSER Summit – VoN 2008 San Jose, US
Registration status to presence status
Publish'online'
Presence Server
Publish 'offline'
OpenSER registrar with pua_usrloc
Register
unRegister
-
O
March 17 OpenSER Summit – VoN 2008 San Jose, US
Registration status to presence status
• Features• Get presence information from Register• Publish presence status in behalf of clients with no
presence support• Limited to online/offline presence status• Implemented in pua_usrloc module (used with pua module)
-
O
March 17 OpenSER Summit – VoN 2008 San Jose, US
Presence Extensions in OpenSER
• Publish information from non SIP devices• Useful for monitoring or advertising• Uses Management Interface to push presence information• Implemented in pua_mi module (uses pua module)• Ex: a store publishing news through the presence of a virtual user
-
O
March 17 OpenSER Summit – VoN 2008 San Jose, US
Gateway to XMPP presence
• Presence gateway to XMPP (jabber)• Possibility to see from SIP side the status(presence) of jabber
buddies and vice versa
-
O
March 17 OpenSER Summit – VoN 2008 San Jose, US
Gateway to XMPP presence
• Features• Translates substatus also • Transparent for users• The contacts from the other domain must be transformed to
as shown bellow:• At the SIP client:
• sip:usernamejabber_server@gateway_domain• At the jabber client:
• sip_usernameopenser_domain@xmpp_domain• defaults to '*'
• Implemented in pua_xmpp modules (uses pua and xmpp modules)
-
O
March 17 OpenSER Summit – VoN 2008 San Jose, US
Presence Extensions in OpenSER
• Bridge Line Appearance (BLA)• Shared line with exclusive use – only one inbound or
outbound call at a time
• Notification mechanisms
• Standard implemented in OpenSER : draft anil sipping bla 03 txt; Event:dialogl;sla
• Known to work with Polycom and Snom phones
• Implemented in pua_bla module (uses pua module)
-
O
March 17 OpenSER Summit – VoN 2008 San Jose, US
RESOURCE LIST SERVER
-
O
March 17 OpenSER Summit – VoN 2008 San Jose, US
Resource List Server (RLS)
• In a presence server architecture, a client has to send presence requests for all the buddies in its contact list
Subscribe to ben
Presence ServerSubscribe to nicole
Subscribe to sam
Notify about ben
Notify about nicole
Notify about sam
-
O
March 17 OpenSER Summit – VoN 2008 San Jose, US
Resource List Server (RLS)
• A Resource List Server reduces the presence requests sent by the client and notifies received to only one
OpenSER
RLS
XCAP server
my buddy list
test's buddy list
Subscribeto my list
PRESENCE SERVER
Notifyabout your list
Subscribe
Notify
-
O
March 17 OpenSER Summit – VoN 2008 San Jose, US
Resource List Server(RLS)Features
• Independent – can be used in any sip architecture with any SIP presence server
• Uses an external XCAP server• Integrated with OpenXCAP – high speed
• Still under testing • Not many clients that have support for RLS
-
O
March 17 OpenSER Summit – VoN 2008 San Jose, US
FUTUREPLANS
-
O
March 17 OpenSER Summit – VoN 2008 San Jose, US
Future
• RLS testing and integration with clients
• Optimize rules handling• change the storing method: one rule per line
• easier access and manipulation• 'validity' feature real time efficient
• XCAPDIFF feature• method to synchronize clients registered for the same account
with a SIP event notification mechanism • in collaboration with OpenXCAP