libdmclient An Open Source implementation of OMA-DM
David Navarro
FOSDEM 2013
libdmclient An Open Source implementation of OMA-DM David Navarro - - PowerPoint PPT Presentation
libdmclient An Open Source implementation of OMA-DM David Navarro FOSDEM 2013 What is Device Management ? Technologies which allow authorized third-parties to remotely perform management operations on an end-user device. Use cases
FOSDEM 2013
2
3
4
5
BMO HomePage Name URL 1 Name URL … Favorites Orange http://www.orange.co.uk Home | libdmclient https://01.org/libdmclient
6
. . .
. . .
. . .
. . .
7
BMO HomePage Name URL 1 Name URL … Favorites Orange https://www.orange.fr Home | libdmclient https://01.org/libdmclient
8
9
Package 0: Push message Package 1: client initialization with credentials and device information Package 2: server initialization with credentials and initial DM commands Package 3: client response to server commands
Dialog User’s input
Package n: more DM commands Package n+1: client response to server commands
10
11
12
13
Push notification notification session_init() session_start() DM packet get_next_packet() DM packet DM packet DM packet DM packet process_reply() session_close() Session pointer
14
DevInfo DevDetail DmAcc Vendor Intel DevId Man Mod …
15
16
application
DM packet
./Vendor/Intel plugin
isNodeFunc
libdmclient
GET ./Vendor/Intel/version getACLFunc permission check getFunc store result
compose reply DM packet
DM server
17
18
19
session
./Vendor/Intel plugin
DM packet DM packet
callbacks SyncML RTK momgr
get callback isNodeFunc decoding
dmtree
get check URI find plugin getACLFunc check ACL getFunc result compose store result
20
session
start message
SyncML RTK
get element DM packet add element end message get server URL
21
set state to STATE_SERVER_INIT
session
DMAcc plugin
set server ID
dmtree credentials
get server account
momgr
get plugin get node values account details store account store ID check ID payload decoding server ID
package0
payload
22
23