Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
AncaMaria Vamanu
Senior Developer at Voice System
Presence designer for OpenSER Project
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
W1 Wa
tes nt to
t's se
sta e w1 request
tus
Want to see w2 request
W2
SIP server
test's' status
w3 request
e e
s
t to atus
an ' st
W t's
W3 tes
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
W1
tes
t is
bu I'm busy
sy
I'm busy
W2 test is busy SIP server
I'm busy
b usy
t is
tes
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)
W1 Re
pr ques
es
en t tes
ce t's
SIP server
Request test's
W2
presence
with
Presence Server
s t's
s t te
e
e qu ce
W3 R sen
pre
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
W1
tes
t is
b usy
O
March 17 OpenSER Summit – VoN 2008 San Jose, US
Presence Server vs. Endtoend Presence
• Presence with a central Server better than old end
toend 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
O
watcher status
March 17 OpenSER Summit – VoN 2008 San Jose, US
Features of OpenSER Presence Server
• Independent entity, can be used in any sip
architecture
OpenSER
SUBSCRIBE/ Presence Server
PUBLISH
other SIP services
Local domain SIP Proxy
other custom
services
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
OpenSER
Presence Server
1
SIP Proxy
Database
OpenSER
Presence Server
N
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:
'presence', 'presence.winfo'
'dialog;sla' presence_xml
event specific processing module
SUBSCRIBE/
PUBLISH
presence
Sip entity
NOTIFY module
'messagesummary' presence_mwi
specific processing
module
other event
specific 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
Register
Publish'online'
OpenSER registrar Presence Server
with pua_usrloc
Publish 'offline'
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:username<delim>jabber_server@gateway_domain
• At the jabber client:
• sip_username<delim>openser_domain@xmpp_domain
• <delim> 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
Notify about ben
Subscribe to nicole
Presence Server
Notify about nicole
Subscribe to sam
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
my buddy list XCAP
server
test's
buddy list
Subscribe
to my list Subscribe
OpenSER PRESENCE
SERVER
Notify
RLS Notify
about your list
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
FUTURE
PLANS
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
O
March 17 OpenSER Summit – VoN 2008 San Jose, US